دسته بندی ها
01:29 1398/10/09

ذخیره اطلاعات از Excel به sql

مشخصات سوال کننده :
کاربر : DiakoAspCore     امتیاز کاربر : 37     رتبه کاربر : 20
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    1
تعداد بازدید این سوال : 2332
هوش مصنوعی

پاسخ هوش مصنوعی

برای ذخیره اطلاعات از یک فایل Excel به یک پایگاه داده SQL در ASP.NET Core، شما می توانید از کتابخانه هایی مانند EPPlus برای خواندن داده ها از فایل Excel و Entity Framework Core برای ذخیره سازی داده ها در دیتابیس استفاده کنید.

در ابتدا، اطمینان حاصل کنید که کتابخانه های مورد نیاز را به پروژه تان اضافه کرده اید. می توانید به راحتی از NuGet Package Manager استفاده کنید:

Install-Package EPPlus
Install-Package Microsoft.EntityFrameworkCore.SqlServer

سپس یک مدل برای داده های خودتان ایجاد کنید. به عنوان مثال، فرض کنید که می خواهید اطلاعات دانشجویان را ذخیره کنید:

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
    public string Email { get; set; }
}

سپس یک DbContext برای ارتباط با پایگاه داده ایجاد کنید:

public class ApplicationDbContext : DbContext
{
    public DbSet Students { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer("ConnectionStringYourDatabase");
    }
}

در مرحله بعد، شما به یک متد برای خواندن فایل Excel نیاز دارید:

public async Task ImportExcel(IFormFile file)
{
    using (var stream = new MemoryStream())
    {
        await file.CopyToAsync(stream);
        using (var package = new ExcelPackage(stream))
        {
            var workSheet = package.Workbook.Worksheets[0];
            var rowCount = workSheet.Dimension.Rows;

            using (var context = new ApplicationDbContext())
            {
                for (int row = 2; row <= rowCount; row++) // آغاز از ردیف دوم به دلیل عنوان ها
                {
                    var student = new Student
                    {
                        Name = workSheet.Cells[row, 1].Text,
                        Age = int.Parse(workSheet.Cells[row, 2].Text),
                        Email = workSheet.Cells[row, 3].Text
                    };

                    context.Students.Add(student);
                }
                await context.SaveChangesAsync();
            }
        }
    }
}

در نهایت، می توانید این متد را در کنترلر خود فراخوانی کنید، مثلاً:

[HttpPost]
public async Task UploadExcel(IFormFile file)
{
    if (file != null && file.Length > 0)
    {
        await ImportExcel(file);
        return RedirectToAction("Index"); // به صفحه ی مناسب هدایت می کند
    }
    return View();
}

این یک پیاده سازی ساده است و ممکن است بر اساس نیازهای خاص شما نیاز به تغییرات بیشتری داشته باشد. همچنین به امنیت، مدیریت خطا و اعتبارسنجی داده ها نیز توجه کنید.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : pedram_khan 03:01 1398/10/09

این لینک رو ببینید

 

انتقال اطلاعات از اکسل به sql در Asp.net core

ویرایش شده در دوشنبه 9 دی 1398 ساعت 03:02:10
به این پاسخ امتیاز بدهید    0
امتیاز: 277 رتبه: 6
پاسخ دهنده : AliNoori 23:37 1398/10/12

روشهای متفاوتی وجود داره . این لینک خیلی بهت کمک میکنه .

به این پاسخ امتیاز بدهید    2
امتیاز: 136 رتبه: 11
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود